del(.(x, .(y, z))) → f(=(x, y), x, y, z)
f(true, x, y, z) → del(.(y, z))
f(false, x, y, z) → .(x, del(.(y, z)))
=(nil, nil) → true
=(.(x, y), nil) → false
=(nil, .(y, z)) → false
=(.(x, y), .(u, v)) → and(=(x, u), =(y, v))
↳ QTRS
↳ Overlay + Local Confluence
del(.(x, .(y, z))) → f(=(x, y), x, y, z)
f(true, x, y, z) → del(.(y, z))
f(false, x, y, z) → .(x, del(.(y, z)))
=(nil, nil) → true
=(.(x, y), nil) → false
=(nil, .(y, z)) → false
=(.(x, y), .(u, v)) → and(=(x, u), =(y, v))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
del(.(x, .(y, z))) → f(=(x, y), x, y, z)
f(true, x, y, z) → del(.(y, z))
f(false, x, y, z) → .(x, del(.(y, z)))
=(nil, nil) → true
=(.(x, y), nil) → false
=(nil, .(y, z)) → false
=(.(x, y), .(u, v)) → and(=(x, u), =(y, v))
del(.(x0, .(x1, x2)))
f(true, x0, x1, x2)
f(false, x0, x1, x2)
=(nil, nil)
=(.(x0, x1), nil)
=(nil, .(x0, x1))
=(.(x0, x1), .(u, v))
F(false, x, y, z) → DEL(.(y, z))
=1(.(x, y), .(u, v)) → =1(x, u)
F(true, x, y, z) → DEL(.(y, z))
DEL(.(x, .(y, z))) → F(=(x, y), x, y, z)
DEL(.(x, .(y, z))) → =1(x, y)
=1(.(x, y), .(u, v)) → =1(y, v)
del(.(x, .(y, z))) → f(=(x, y), x, y, z)
f(true, x, y, z) → del(.(y, z))
f(false, x, y, z) → .(x, del(.(y, z)))
=(nil, nil) → true
=(.(x, y), nil) → false
=(nil, .(y, z)) → false
=(.(x, y), .(u, v)) → and(=(x, u), =(y, v))
del(.(x0, .(x1, x2)))
f(true, x0, x1, x2)
f(false, x0, x1, x2)
=(nil, nil)
=(.(x0, x1), nil)
=(nil, .(x0, x1))
=(.(x0, x1), .(u, v))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
F(false, x, y, z) → DEL(.(y, z))
=1(.(x, y), .(u, v)) → =1(x, u)
F(true, x, y, z) → DEL(.(y, z))
DEL(.(x, .(y, z))) → F(=(x, y), x, y, z)
DEL(.(x, .(y, z))) → =1(x, y)
=1(.(x, y), .(u, v)) → =1(y, v)
del(.(x, .(y, z))) → f(=(x, y), x, y, z)
f(true, x, y, z) → del(.(y, z))
f(false, x, y, z) → .(x, del(.(y, z)))
=(nil, nil) → true
=(.(x, y), nil) → false
=(nil, .(y, z)) → false
=(.(x, y), .(u, v)) → and(=(x, u), =(y, v))
del(.(x0, .(x1, x2)))
f(true, x0, x1, x2)
f(false, x0, x1, x2)
=(nil, nil)
=(.(x0, x1), nil)
=(nil, .(x0, x1))
=(.(x0, x1), .(u, v))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
F(false, x, y, z) → DEL(.(y, z))
=1(.(x, y), .(u, v)) → =1(x, u)
F(true, x, y, z) → DEL(.(y, z))
DEL(.(x, .(y, z))) → F(=(x, y), x, y, z)
DEL(.(x, .(y, z))) → =1(x, y)
=1(.(x, y), .(u, v)) → =1(y, v)
del(.(x, .(y, z))) → f(=(x, y), x, y, z)
f(true, x, y, z) → del(.(y, z))
f(false, x, y, z) → .(x, del(.(y, z)))
=(nil, nil) → true
=(.(x, y), nil) → false
=(nil, .(y, z)) → false
=(.(x, y), .(u, v)) → and(=(x, u), =(y, v))
del(.(x0, .(x1, x2)))
f(true, x0, x1, x2)
f(false, x0, x1, x2)
=(nil, nil)
=(.(x0, x1), nil)
=(nil, .(x0, x1))
=(.(x0, x1), .(u, v))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
F(false, x, y, z) → DEL(.(y, z))
F(true, x, y, z) → DEL(.(y, z))
DEL(.(x, .(y, z))) → F(=(x, y), x, y, z)
del(.(x, .(y, z))) → f(=(x, y), x, y, z)
f(true, x, y, z) → del(.(y, z))
f(false, x, y, z) → .(x, del(.(y, z)))
=(nil, nil) → true
=(.(x, y), nil) → false
=(nil, .(y, z)) → false
=(.(x, y), .(u, v)) → and(=(x, u), =(y, v))
del(.(x0, .(x1, x2)))
f(true, x0, x1, x2)
f(false, x0, x1, x2)
=(nil, nil)
=(.(x0, x1), nil)
=(nil, .(x0, x1))
=(.(x0, x1), .(u, v))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
DEL(.(x, .(y, z))) → F(=(x, y), x, y, z)
Used ordering: Combined order from the following AFS and order.
F(false, x, y, z) → DEL(.(y, z))
F(true, x, y, z) → DEL(.(y, z))
[F1, .1, true, =2, nil] > false
[F1, .1, true, =2, nil] > v > u
true: multiset
v: multiset
u: multiset
.1: multiset
false: multiset
=2: multiset
nil: multiset
F1: multiset
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
F(false, x, y, z) → DEL(.(y, z))
F(true, x, y, z) → DEL(.(y, z))
del(.(x, .(y, z))) → f(=(x, y), x, y, z)
f(true, x, y, z) → del(.(y, z))
f(false, x, y, z) → .(x, del(.(y, z)))
=(nil, nil) → true
=(.(x, y), nil) → false
=(nil, .(y, z)) → false
=(.(x, y), .(u, v)) → and(=(x, u), =(y, v))
del(.(x0, .(x1, x2)))
f(true, x0, x1, x2)
f(false, x0, x1, x2)
=(nil, nil)
=(.(x0, x1), nil)
=(nil, .(x0, x1))
=(.(x0, x1), .(u, v))